﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Shop.Core.Domain.Customers;

namespace Shop.Service.Customers
{
    public interface ICustomerService
    {
        /// <summary>
        /// 用id查询用户
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Customer GetCustomer(int id);
        /// <summary>
        /// 用email查询用户
        /// </summary>
        /// <param name="email"></param>
        /// <returns></returns>
        Customer GetCustomerByEmail(string email);
        /// <summary>
        /// 用NickName查询用户
        /// </summary>
        /// <param name="nickName"></param>
        /// <returns></returns>
        Customer GetCustomerByNickName(string nickName);
        /// <summary>
        /// 创建用户
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Customer CreateCustomer(CreateCustomerRequest request);
        /// <summary>
        /// 用id列表查询用户
        /// </summary>
        /// <param name="idList"></param>
        /// <returns></returns>
        IList<Customer> FindCustomerById(IList<int> idList);

        Customer CreateGuestCustomer();

        Customer GetGuestCustomer(string nickName);
    }
}
